Add 1C cluster monitoring via RAS/RAC for Zabbix - #27
Open
gpas45 wants to merge 4 commits into
Open
Conversation
Реализация функционала статьи «Мониторинг кластера 1С 8.3 в Zabbix» на штатном интерфейсе администрирования (ras.exe/rac.exe) вместо косвенного сбора средствами ОС. - 1c_cluster_ras.ps1: коллектор (json-мастер-айтем, LLD инфобаз и процессов) - userparameter_1c_ras.conf: UserParameter'ы Zabbix-агента - README: разбор подхода статьи, соответствие метрик командам RAC, установка Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DgGNtAoQ1EfNYNzeVqwJ2
После изучения полного текста статьи «Мониторинг кластера 1С 8.3 в Zabbix»: источник в оригинале — COM+ (V83.COMConnector), а RAS/RAC заявлен автором как план развития. Коллектор теперь отдаёт JSON той же структуры (cluster / workingservers / processes / bases.list) на данных RAC. - cluster info: параметры кластера (память, отказоустойчивость, порты и т.д.) - сводка сеансов по app-id (клиенты, WS, HTTP, фоновые, COM, web) - лицензии ПРОФ/КОРП (license list, настраиваемый -CorpLicensePattern) - рабочие серверы (server list) + LLD discovery.server - rphost: top-сессии по памяти/CPU/времени СУБД, users/sessions - базы: сессии, пользователи, регламентные reg000 - README: маппинг COM->RAC по 4 блокам, что остаётся на стороне ОС Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DgGNtAoQ1EfNYNzeVqwJ2
- 1c_cluster_ras.ps1: поиск rac (rac.exe/rac) через PATH и каталоги установки для Windows и Linux; $IsWindows-детект; безопасный OutputEncoding. Один и тот же скрипт под Windows PowerShell 5.1 и pwsh 7+ на Linux. - userparameter_1c_ras.conf / _linux.conf: параметризованные ключи [*] с передачей RAS-сервера и учётки из макросов. - template_1c_cluster_ras.yaml: шаблон Zabbix 6.0 — мастер-айтем onecras.json, зависимые элементы кластера (JSONPath), 3 правила LLD (базы/процессы/серверы) с прототипами и триггерами, триггеры RAS nodata и ПРОФ-лицензий. - README: раздел кроссплатформенности, установка Windows/Linux, схема шаблона. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DgGNtAoQ1EfNYNzeVqwJ2
По просьбе: на серверах 1С под Linux PowerShell из коробки нет, поэтому
Linux-версия переписана на bash + awk без внешних зависимостей (нужен только
rac из платформы и стандартные awk/coreutils; jq/python/pwsh не требуются).
- 1c_cluster_ras.sh: новый Linux-коллектор. Парсинг вывода rac и сборка JSON
целиком на awk; режимы json/discovery.ib/discovery.process/discovery.server;
поиск rac через PATH и каталоги установки, RAC_PATH для override;
CORP_LICENSE_PATTERN по умолчанию без интервалов {3} (совместимо с mawk).
Выдаёт JSON, идентичный PS-версии, — Zabbix-шаблон общий.
- userparameter_1c_ras_linux.conf: ключи агента вызывают .sh (без pwsh).
- 1c_cluster_ras.ps1: помечен как Windows-версия (шапка), логика без изменений.
- README: раздел про две реализации, зависимости Linux, установка, ограничения.
Проверено: awk-парсер и генерация JSON прогнаны на синтетическом выводе rac
(json + все discovery + ПРОФ-лицензии), JSON валиден; shellcheck -S warning чист.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015DgGNtAoQ1EfNYNzeVqwJ2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a complete monitoring solution for 1C:Enterprise 8.3 clusters in Zabbix using the RAS/RAC administration API instead of COM+ components. It ports the monitoring approach from the Infostart article to use the native RAS server and RAC command-line client.
Key Changes
1c_cluster_ras.ps1— Cross-platform PowerShell collector script that:json(master item),discovery.ib,discovery.process,discovery.serverrac.exe(Windows) orrac(Linux) from standard installation pathstemplate_1c_cluster_ras.yaml— Zabbix 6.0 template with:onecras.jsonfor single RAS query per intervaluserparameter_1c_ras.conf— Zabbix agent configuration for Windows with UserParameter definitionsuserparameter_1c_ras_linux.conf— Zabbix agent configuration for Linux (requires PowerShell 7+)README.md— Comprehensive documentation covering:Notable Implementation Details
%ProgramFiles%\1cv8on Windows,/opt/1cv8etc. on Linux)ProcessNameFormatregistry key since RAC provides PID directlyhttps://claude.ai/code/session_015DgGNtAoQ1EfNYNzeVqwJ2